package br.faimg.pomar.controle.BusinessDelegate;

import br.faimg.pomar.modelo.dao.ProducaoDAO;
import br.faimg.pomar.modelo.pojo.Estacao;
import br.faimg.pomar.modelo.pojo.NumeroSerie;
import br.faimg.pomar.modelo.pojo.Producao;
import br.faimg.pomar.modelo.pojo.TipodeErro;
import br.faimg.pomar.modelo.pojo.TipodeEstacao;

public class ProducaoBusinessDelegate {
 
    public void create(String numerodeSerie, String codigoEstacao, String tipoEstacao) throws Throwable{
        
        ProducaoDAO dao = new ProducaoDAO();
        
        TipodeEstacao tepojo = new TipodeEstacao();
        tepojo.setCodigo(tipoEstacao);
        
        Estacao epojo = new Estacao();
        epojo.setCodigo(codigoEstacao);
        epojo.setTipo(tepojo);
        
        
        NumeroSerie npojo = new NumeroSerie();
        npojo.setNumSerie(numerodeSerie);
        
        TipodeErro tpojo = new TipodeErro();
        tpojo.setCodigo("000000");
        
        
        Producao pojo = new Producao();
        pojo.setTipodeErro(tpojo);
        pojo.setEstacao(epojo);
        pojo.setNumerodeSerie(npojo);
        
        dao.create(pojo);
        
    }

    public void createProdutoComErro(String numerodeSerie, String codigoDefeito, String codigoEstacao) throws Throwable {
        ProducaoDAO dao = new ProducaoDAO();
        
        Estacao epojo = new Estacao();
        epojo.setCodigo(codigoEstacao);
        
        
        NumeroSerie npojo = new NumeroSerie();
        npojo.setNumSerie(numerodeSerie);
        
        
        TipodeErro tpojo = new TipodeErro();
        tpojo.setCodigo(codigoDefeito);
        
        Producao pojo = new Producao();
        pojo.setTipodeErro(tpojo);
        pojo.setEstacao(epojo);
        pojo.setNumerodeSerie(npojo);
        
        dao.createProdutoComErro(pojo);
    }

    public void createProdutoComReparo(String numerodeSerie, String codigoDefeito, String codigoEstacao) throws Throwable {
        ProducaoDAO dao = new ProducaoDAO();

        Estacao epojo = new Estacao();
        epojo.setCodigo(codigoEstacao);


        NumeroSerie npojo = new NumeroSerie();
        npojo.setNumSerie(numerodeSerie);


        TipodeErro tpojo = new TipodeErro();
        tpojo.setCodigo(codigoDefeito);

        Producao pojo = new Producao();
        pojo.setTipodeErro(tpojo);
        pojo.setEstacao(epojo);
        pojo.setNumerodeSerie(npojo);

        dao.createProdutoReparo(pojo);
    }

    public void verificaSeCaixaDeveSerFechada(String codigoTipoEstacao, String numeroSerie, String estacaoCodigo) throws Throwable {
        
        if (codigoTipoEstacao.equals("TEE   ")){
         
               ProducaoDAO dao = new ProducaoDAO();         
               dao.verificaSeCaixaDeveSerFechada(numeroSerie,estacaoCodigo);
            
        }
    }

    public boolean verificaSeProdutoEmReparo(String numerodeSerie) {
        ProducaoDAO dao = new ProducaoDAO();
        NumeroSerie npojo = new NumeroSerie();
        npojo.setNumSerie(numerodeSerie);
        Producao pojo = new Producao();
        pojo.setNumerodeSerie(npojo);
        
        return dao.verificaSeProdutoEmReparo(pojo);
        
    }

    
    
    
 
}
 
